﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace KXmlUIControl
{
    /// <summary>
    /// XML模块内部子对象配置节点(对应具体业务流程的每个应用程序)
    /// </summary>
    public class XmlProgramObject
    {
        /// <summary>
        /// 应用程序标题名称(中文描述)
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 应用程序名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 可执行文件的路径类型
        /// 1：相对路径
        /// 2：绝对路径
        /// </summary>
        public int ExecutablePathType { get; set; }

        /// <summary>
        /// 是否需要核验启动已完成
        /// 1：相对路径
        /// 2：绝对路径
        /// </summary>
        public bool CheckStartCompleted { get; set; }

        /// <summary>
        /// 应用程序启动路径
        /// </summary>
        public string StartupPath { get; set; }

        private bool _enabled = true;
       
        /// <summary>
        /// 是否启用
        /// </summary>
        public bool Enable
        { 
            get{ return _enabled; }
            set{ _enabled = value; }
        }

        /// <summary>
        /// 进程是否拥有主窗口
        /// </summary>
        public bool HasMainWindow { get; set; }

        /// <summary>
        /// 是否需要嵌入主窗体
        /// </summary>
        public bool NeedEmbedded { get; set; }

        /// <summary>
        /// 对于整个系统来说，程序模块是不是主要组成部分，有不可或缺的重要性
        /// </summary>
        public bool Primary { get; set; }

        /// <summary>
        /// 指示程序是否需要强制关闭，
        /// 一般由程序自己主动关闭视为正常关闭，调用Process.kill为强制关闭。
        /// 如果由父进程强制关闭，值为false
        /// </summary>
        public bool ForcingClosed { get; set; }
    
        public XmlProgramObject()
        {

        }     
    }
}
